package main

import (
	"fmt"
	"runtime"
)

/*
Gosched() 类似于java的yield，这个函数的作用是让当前goroutine让出CPU，好让其它的goroutine获得执行的机会。同时，当前的goroutine也会在未来的某个时间点继续运行。
*/
func main() {
	go func(s string) {
		for i := 0; i < 2; i++ {
			//time.Sleep(2 * time.Second)
			fmt.Println(s)
		}
	}("world")

	// 主函数让出cpu时间分片，让子线程先获取到cpu，但是主线程不阻塞
	runtime.Gosched()
	// 主协程
	for i := 0; i < 2; i++ {

		fmt.Println("hello")
	}

}
